<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Promise.all</title>
    </head>
    <body>
        <script>
            // Promise.all  所有
            // 批量处理 promise 实例对象
            // 参数:  数组, 元素为 promise 对象
            // 使用示例: let res = Promise.all([p1, p2, p3]);
            // 返回值
            //    promise 实例对象
            //   状态: 当数组中所有的 promise 对象状态都为成功时, 返回的 promise 就是『成功状态』. 结果值为所有 promise 对象成功『结果值形成的数组』
            //         当数组中至少存在一个 promise 对象状态为失败, 返回的 promise 就是『失败状态』. 结果值为『最先修改失败状态』的 promise 的『结果值』
            let p1 = new Promise((resolve, reject) => {
                // resolve('ok');
                setTimeout(() => {
                    reject("error");
                }, 1000);
            });

            let p2 = Promise.reject("No");

            let p3 = Promise.resolve("Oh Yeah");

            let res = Promise.all([p1, p2, p3]);

            console.log(res);
        </script>
    </body>
</html>
